To develop the useful system for any purpose it requires deployment.
It consists in analyzing requirements, designing the system,
customizing the system to specific needs and situations,
conducting appropriate trainings and workouts,
installation in proper hardware environment.

The classic question is whether to buy, and implement
a complete system or create a system from scratch.
The answer is not simple. The finished system can be cheaper.
It can also be developed on the basis of many different experiences.
An organization can learn a lot by using and implementing a defined system.
On the other hand, changing and adapting the system
can be much more expensive than writing it from scratch.
It may also turn out that some changes are simply impossible.
This organization must adapt itself to the system as it can be very costly as well.

An important issue is also the problem of innovation.
In the case of certain typical ways of doing things like "Bookkeeping"
we can buy and customize a complete system.
In the case of new, unknown forms of activity that is impossible
simply because such systems do not exist yet.
Many years of experience show that these two approaches are equally necessary
and that is unlikely to happen advantage of one over the other.

It may also be noted that the use of ready-made systems enables the attainment
while the creation of a new system provides an opportunity to outdo the competitors.

In some sense, a modern programming environment like. ".NET"
"Windows", "Visual Studio", "C #", "ASP", "MVC", "EF", "SQL Server"
is itself a system requiring only implementation.
Implementation is only to design a database, logic in the program code
desktop or Web-based user interface.